package com.hd.appcommon.utils;

import lombok.extern.slf4j.Slf4j;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

@Slf4j
public class TimeStampUtil {
    public static String TimeStampToString(long times){
        //        时间戳转换
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(times);
    }

    public static Long StringToTimeStamp(String str) throws ParseException {
        //指定转化前的格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
//转化后为Date日期格式
        Date date = sdf.parse(str);
//Date转为时间戳long
        return (date.getTime());
    }
    public static Date StringToDate(String str) {
        //指定转化前的格式（如 2022-08-28为合法输入）
        SimpleDateFormat sdf = null;
        try {
            sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return (sdf.parse(str));
        }catch (Exception e){
            log.error("时间戳工具异常！"+e.toString());
        }
//转化后为Date日期格式
        return null;
    }

    /*
    * type 为ture转 "yyyy-MM-dd HH:mm:ss"格式
    * false 为yyyy-MM-dd 格式
    * */
    public static String getZeroTimeSomeDay(Date date,Boolean type) throws ParseException {
        //        时间戳转换
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        String zero = format.format(date);
        Long zeroL = format.parse(zero).getTime();
        if(!type){
            return zero;
        }
        format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(new Date(zeroL));
    }
}
